Ключевое слово explicit применяется для указания явного преобразования типов. Смотрим пример.
using System;
class MyClass
{
public MyClass(int i)
{
x=i;
}
public static explicit operator MyClass(int i)
{
return new MyClass(i);
}
private int x;
}
class MainClass
{
public static void Main(string[] args)
{
MyClass my = new MyClass(34);
int i=10;
MyClass my1=(MyClass)i;
}
}
Здесь мы с Вами указали оператор преобразования типа MyClass, который преобразует int к нашему классу.